package cn.zzdt4j.config.service.biz;

import cn.zzdt4j.config.model.biz.item.ItemQueryReqDTO;
import cn.zzdt4j.config.model.biz.item.ItemRespDTO;
import cn.zzdt4j.config.model.biz.item.ItemSaveReqDTO;
import cn.zzdt4j.config.model.biz.item.ItemUpdateReqDTO;
import com.baomidou.mybatisplus.core.metadata.IPage;

import java.util.List;

/**
 * The interface Item service.
 *
 * @author by <a href="mailto:ligang941012@gmail.com">gang.Li</a>
 * @since 2023 /11/7 20:06
 */
public interface ItemService {
    /**
     * Query item list.
     *
     * @param reqDTO the req dto
     * @return the list
     */
    List<ItemRespDTO> queryItem(ItemQueryReqDTO reqDTO);

    /**
     * Query item page page.
     *
     * @param reqDTO the req dto
     * @return the page
     */
    IPage<ItemRespDTO> queryItemPage(ItemQueryReqDTO reqDTO);

    /**
     * Save item.
     *
     * @param reqDTO the req dto
     */
    void saveItem(ItemSaveReqDTO reqDTO);

    /**
     * Update item.
     *
     * @param reqDTO the req dto
     */
    void updateItem(ItemUpdateReqDTO reqDTO);

    /**
     * Delete item.
     *
     * @param tenantId the tenant id
     * @param itemId   the item id
     */
    void deleteItem(String tenantId, String itemId);
}
